home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / vbdos / pro5 / trueerr.txt < prev   
Text File  |  1993-07-19  |  2KB  |  49 lines

  1.                         BOMB.BAS and TrueErr.OBJ
  2.  
  3. I know how frustrating it is for programmers using PDS and VBDOS to have a
  4. program that might need to terminate because of a specific error. Yet if the
  5. program terminates from within the error handler, the resulting message
  6. displays the address of the error handler rather than the offending statement!
  7. Apparently Microsoft has no plans to address this problem. 
  8. I offer you this solution: "TrueErr". (c) 1993 Thomas Kiehl 
  9.  
  10. When you generate a "*.LST" file, each line of your program has and address
  11. assigned to it. By looking at the result printed on the screen when a program
  12. terminates because of an error, you would think that you could go back into
  13. your LST file and find the culprit. Well, you usually can... unless you are
  14. already in the error handler and then terminate the program.  Then the address
  15. given by the termination routines in VBDOS is the error handler itself. Not 
  16. very helpful indeed! By linking the file "TrueErr.OBJ" you can now get the
  17. address in a LONG integer as segment/offset. The segment is the 'high word' and
  18. the offset is the 'low word'. They can be extracted by "offset = z& MOD &H1000"
  19. and "segment = z& \ &H10000". See the example program.
  20.  
  21. The function call to TrueErr *** must be the first executable statement ***
  22. following the target error handler. 
  23.  
  24. ErrorHandler:                       'beginning of the error handler
  25.     z& =TrueErr()                   'must be *THE* first statement!!!!
  26.     .
  27.     .
  28.     .
  29.  
  30. TrueErr will only work with module level error handlers. It will not work
  31. with "ON LOCAL ERROR GOTO xxxx".
  32.  
  33. The shareware version has a built-in five second delay. Registration is $35.00
  34. U.S. and includes an updated OBJ file without a delay.
  35.  
  36. Here's how to register:
  37.  
  38. Send check or money order payable in US funds to:
  39.  
  40.             Thomas M. Kiehl
  41.             PO Box 693
  42.             Indian Rocks Beach, FL  34635
  43.             CIS: 73215,427
  44.  
  45. Please indicate 5-1/4 or 3-1/2 disk.
  46.  
  47.  
  48.  
  49.